package com.winshare.saleAssistant.mapper;

import com.winshare.saleAssistant.domain.entity.FeedbackDO;
import com.winshare.saleAssistant.domain.query.FeedbackQuery;
import com.winshare.saleAssistant.domain.dto.req.FeedbackCreateDTO;
import com.winshare.saleAssistant.domain.dto.req.FeedbackIdDTO;
import com.winshare.saleAssistant.domain.dto.req.FeedbackQueryDTO;
import com.winshare.saleAssistant.domain.dto.req.FeedbackReplyDTO;
import com.winshare.saleAssistant.domain.dto.resp.FeedbackRespDTO;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface FeedbackMapStruct {

    FeedbackMapStruct INSTANCE = Mappers.getMapper(FeedbackMapStruct.class);

    FeedbackDO fromFeedbackCreateDTO(FeedbackCreateDTO feedbackCreateDTO);

    FeedbackDO fromFeedbackIdDTO(FeedbackIdDTO feedbackIdDTO);

    FeedbackDO fromFeedbackReplyDTO(FeedbackReplyDTO feedbackReplyDTO);

    FeedbackQuery fromFeedbackQueryDTO(FeedbackQueryDTO feedbackQueryDTO);

    FeedbackRespDTO fromFeedbackDO(FeedbackDO feedbackDO);

    List<FeedbackRespDTO> fromFeedbackDOList(List<FeedbackDO> feedbackDOList);
}
